/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.ins.entity;

import java.util.List;

import org.hibernate.validator.constraints.Length;
import com.thinkgem.jeesite.modules.sys.entity.User;
import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 指标卡规则Entity
 * @author fanqinglong
 * @version 2018-03-15
 */
public class InsQuota extends DataEntity<InsQuota> {
	
	private static final long serialVersionUID = 1L;
	private String name;		// 指标名称
	private User user;		// 用户id
	private InsTable table;    // 数据表
	private InsField xaxis;    // 维度
	private InsField compare;    // 对比
	private String yaxisType;    // 数值图表类型
	private String minorType;	 // 次轴图表类型
	
	private String dateFrom;    // 日期起始
	private String dateTo;      // 日期结束
	private String dateType;    // 日期维度具体分组：1 年，2 季，3 月，4 周，5 日，6 时，7 分，8 秒
	private String compareDateType;   // 对比日期维度具体分组：1 年，2 季，3 月，4 周，5 日，6 时，7 分，8 秒
	private InsDashboard dashboard; // 所属仪表盘
	
	private InsAuxiliaryLine settingValue;  //计量图的设定值，一个图表只可能有一个，次轴不能设为计量图
	private String enableSettingValue;   // 是否启用设定值
	private List<InsYaxis> yaxisList;   // 数值集合
	private List<InsYaxis> minorList;   // 次轴集合
	private List<InsAuxiliaryLine> yauxiliaryList;   // 辅助线
	private List<InsAuxiliaryLine> mauxiliaryList;   // 辅助线

	public List<InsAuxiliaryLine> getYauxiliaryList() {
		return yauxiliaryList;
	}

	public void setYauxiliaryList(List<InsAuxiliaryLine> yauxiliaryList) {
		this.yauxiliaryList = yauxiliaryList;
	}

	public List<InsAuxiliaryLine> getMauxiliaryList() {
		return mauxiliaryList;
	}

	public void setMauxiliaryList(List<InsAuxiliaryLine> mauxiliaryList) {
		this.mauxiliaryList = mauxiliaryList;
	}

	public List<InsYaxis> getYaxisList() {
		return yaxisList;
	}

	public void setYaxisList(List<InsYaxis> yaxisList) {
		this.yaxisList = yaxisList;
	}

	public List<InsYaxis> getMinorList() {
		return minorList;
	}

	public void setMinorList(List<InsYaxis> minorList) {
		this.minorList = minorList;
	}

	public String getDateFrom() {
		return dateFrom;
	}

	public void setDateFrom(String dateFrom) {
		this.dateFrom = dateFrom;
	}

	public String getDateTo() {
		return dateTo;
	}

	public void setDateTo(String dateTo) {
		this.dateTo = dateTo;
	}

	public InsTable getTable() {
		return table;
	}

	public void setTable(InsTable table) {
		this.table = table;
	}


	public InsField getXaxis() {
		return xaxis;
	}

	public void setXaxis(InsField xaxis) {
		this.xaxis = xaxis;
	}

	public InsField getCompare() {
		return compare;
	}

	public void setCompare(InsField compare) {
		this.compare = compare;
	}

	public String getYaxisType() {
		return yaxisType;
	}

	public void setYaxisType(String yaxisType) {
		this.yaxisType = yaxisType;
	}

	public String getMinorType() {
		return minorType;
	}

	public void setMinorType(String minorType) {
		this.minorType = minorType;
	}


	public InsQuota() {
		super();
	}

	public InsQuota(String id){
		super(id);
	}

	@Length(min=0, max=64, message="指标名称长度必须介于 0 和 64 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String getDateType() {
		return dateType;
	}

	public void setDateType(String dateType) {
		this.dateType = dateType;
	}

	public String getCompareDateType() {
		return compareDateType;
	}

	public void setCompareDateType(String compareDateType) {
		this.compareDateType = compareDateType;
	}

	public InsAuxiliaryLine getSettingValue() {
		return settingValue;
	}

	public void setSettingValue(InsAuxiliaryLine settingValue) {
		this.settingValue = settingValue;
	}

	public String getEnableSettingValue() {
		return enableSettingValue;
	}

	public void setEnableSettingValue(String enableSettingValue) {
		this.enableSettingValue = enableSettingValue;
	}

	public InsDashboard getDashboard() {
		return dashboard;
	}

	public void setDashboard(InsDashboard dashboard) {
		this.dashboard = dashboard;
	}

}